﻿namespace VideoTools.vo
{
    public class FixedSizeQueue<T>
    {
        private readonly Queue<T> _queue = new Queue<T>();
        private readonly int _maxSize;

        public FixedSizeQueue(int maxSize)
        {
            _maxSize = maxSize;
        }

        public void Enqueue(T item)
        {
            _queue.Enqueue(item);
            if (_queue.Count > _maxSize)
            {
                _queue.Dequeue(); // 自动移除最早的元素
            }
        }

        public T Dequeue()
        {
            return _queue.Dequeue();
        }

        public int Count => _queue.Count;

        // 可以添加其他需要的成员，如Peek等
    }
}
